package com.vimi8.ebb.auth.model;

import java.util.Objects;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;



/**
 * 组织部门实体,仅包含oauth认证和授权所需的必须字段.
 **/

/**
 * 组织部门实体,仅包含oauth认证和授权所需的必须字段.
 */
@ApiModel(description = "组织部门实体,仅包含oauth认证和授权所需的必须字段.")
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringCodegen", date = "2016-10-13T06:08:38.395Z")

public class OrganizationDept   {
  private String clientId = null;

  private String deptId = null;

  private String deptParentId = null;

  private String deptName = null;

  private String deptScopes = null;

  private String deptResources = null;

  private String deptPlaceDetail = null;

  private String deptPlace = null;

  private Integer createTime = null;

  private Integer updateTime = null;

  public OrganizationDept clientId(String clientId) {
    this.clientId = clientId;
    return this;
  }

   /**
   * 客服端id.
   * @return clientId
  **/
  @ApiModelProperty(value = "客服端id.")
  public String getClientId() {
    return clientId;
  }

  public void setClientId(String clientId) {
    this.clientId = clientId;
  }

  public OrganizationDept deptId(String deptId) {
    this.deptId = deptId;
    return this;
  }

   /**
   * 部门id.
   * @return deptId
  **/
  @ApiModelProperty(value = "部门id.")
  public String getDeptId() {
    return deptId;
  }

  public void setDeptId(String deptId) {
    this.deptId = deptId;
  }

  public OrganizationDept deptParentId(String deptParentId) {
    this.deptParentId = deptParentId;
    return this;
  }

   /**
   * 上级部门标识.
   * @return deptParentId
  **/
  @ApiModelProperty(value = "上级部门标识.")
  public String getDeptParentId() {
    return deptParentId;
  }

  public void setDeptParentId(String deptParentId) {
    this.deptParentId = deptParentId;
  }

  public OrganizationDept deptName(String deptName) {
    this.deptName = deptName;
    return this;
  }

   /**
   * 部门名称.
   * @return deptName
  **/
  @ApiModelProperty(value = "部门名称.")
  public String getDeptName() {
    return deptName;
  }

  public void setDeptName(String deptName) {
    this.deptName = deptName;
  }

  public OrganizationDept deptScopes(String deptScopes) {
    this.deptScopes = deptScopes;
    return this;
  }

   /**
   * 部门权限范围.
   * @return deptScopes
  **/
  @ApiModelProperty(value = "部门权限范围.")
  public String getDeptScopes() {
    return deptScopes;
  }

  public void setDeptScopes(String deptScopes) {
    this.deptScopes = deptScopes;
  }

  public OrganizationDept deptResources(String deptResources) {
    this.deptResources = deptResources;
    return this;
  }

   /**
   * 部门访问资源.
   * @return deptResources
  **/
  @ApiModelProperty(value = "部门访问资源.")
  public String getDeptResources() {
    return deptResources;
  }

  public void setDeptResources(String deptResources) {
    this.deptResources = deptResources;
  }

  public OrganizationDept deptPlaceDetail(String deptPlaceDetail) {
    this.deptPlaceDetail = deptPlaceDetail;
    return this;
  }

   /**
   * 部门权限地址代码.
   * @return deptPlaceDetail
  **/
  @ApiModelProperty(value = "部门权限地址代码.")
  public String getDeptPlaceDetail() {
    return deptPlaceDetail;
  }

  public void setDeptPlaceDetail(String deptPlaceDetail) {
    this.deptPlaceDetail = deptPlaceDetail;
  }

  public OrganizationDept deptPlace(String deptPlace) {
    this.deptPlace = deptPlace;
    return this;
  }

   /**
   * 部门办公地点.
   * @return deptPlace
  **/
  @ApiModelProperty(value = "部门办公地点.")
  public String getDeptPlace() {
    return deptPlace;
  }

  public void setDeptPlace(String deptPlace) {
    this.deptPlace = deptPlace;
  }

  public OrganizationDept createTime(Integer createTime) {
    this.createTime = createTime;
    return this;
  }

   /**
   * 创建时间.
   * @return createTime
  **/
  @ApiModelProperty(value = "创建时间.")
  public Integer getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Integer createTime) {
    this.createTime = createTime;
  }

  public OrganizationDept updateTime(Integer updateTime) {
    this.updateTime = updateTime;
    return this;
  }

   /**
   * 更新时间.
   * @return updateTime
  **/
  @ApiModelProperty(value = "更新时间.")
  public Integer getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(Integer updateTime) {
    this.updateTime = updateTime;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    OrganizationDept organizationDept = (OrganizationDept) o;
    return Objects.equals(this.clientId, organizationDept.clientId) &&
        Objects.equals(this.deptId, organizationDept.deptId) &&
        Objects.equals(this.deptParentId, organizationDept.deptParentId) &&
        Objects.equals(this.deptName, organizationDept.deptName) &&
        Objects.equals(this.deptScopes, organizationDept.deptScopes) &&
        Objects.equals(this.deptResources, organizationDept.deptResources) &&
        Objects.equals(this.deptPlaceDetail, organizationDept.deptPlaceDetail) &&
        Objects.equals(this.deptPlace, organizationDept.deptPlace) &&
        Objects.equals(this.createTime, organizationDept.createTime) &&
        Objects.equals(this.updateTime, organizationDept.updateTime);
  }

  @Override
  public int hashCode() {
    return Objects.hash(clientId, deptId, deptParentId, deptName, deptScopes, deptResources, deptPlaceDetail, deptPlace, createTime, updateTime);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class OrganizationDept {\n");
    
    sb.append("    clientId: ").append(toIndentedString(clientId)).append("\n");
    sb.append("    deptId: ").append(toIndentedString(deptId)).append("\n");
    sb.append("    deptParentId: ").append(toIndentedString(deptParentId)).append("\n");
    sb.append("    deptName: ").append(toIndentedString(deptName)).append("\n");
    sb.append("    deptScopes: ").append(toIndentedString(deptScopes)).append("\n");
    sb.append("    deptResources: ").append(toIndentedString(deptResources)).append("\n");
    sb.append("    deptPlaceDetail: ").append(toIndentedString(deptPlaceDetail)).append("\n");
    sb.append("    deptPlace: ").append(toIndentedString(deptPlace)).append("\n");
    sb.append("    createTime: ").append(toIndentedString(createTime)).append("\n");
    sb.append("    updateTime: ").append(toIndentedString(updateTime)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

